\documentclass{acm_proc_article-sp}
%\documentclass{acmtrans2e}

\begin{document}
 \title{SkytanX mobile tele-presence and tele-operation platform}
 \subtitle{EE199 Research proposal \\ \emph{Preliminary report}}
 \numberofauthors{1}
 \author{
  \alignauthor
  Leo Szeto \\
   \affaddr{University of California, Los Angeles}\\
   \email{leo.szeto@engineering.ucla.edu}}
  
 \date{28 Febuary 2011} 
 \maketitle
 
 
\begin{abstract}
In this paper, a low cost (sub-\$500) robotics telepresence platform using the Skype \texttrademark platform is proposed. Utilizing a multi-disciplinary approach in systems engineering and computer science, a robot will be built with the goal of allowing a user to remotely control a robot and receive audio-visual feedback in real time. Using the Skype platform, the robot will process incoming textual, video, and audio data and interpret commands based on the information provided from the user. The development of this system provides a low cost alternative towards a widely available and easy to setup system for mobile robotics and telepresence, suitable for civilian applications.
\end{abstract}

\category{Software Engineering, Robotics, Systems Engineering}{-}
\terms{Skype, Telepresence, Sensor integration, Image processing, Audio processing}

\section{Background} 
 The advent of readily accessible telecommunication devices in the past decade has fostered a new age of communication technologies; Teleconferencing has become a useful tool in our everyday lives, from high end systems used in businesses such as the Teliris VirtualLife\texttrademark system, to consumer level technologies such as Skype\texttrademark and other videophone services. Regardless of application, the implemenation of a telepresence device attempts to simulate the human experience of being at another location by allowing the user to create and receive stimuli as if the user is actually there. To do this, a telepresence system generally captures primary human sensory elements, such as vision and sound, as well as through movement or manipulation. 
 Traditionally, telepresence systems included only vision and sound. However, recent advances in robotics and networking has gave way for consumer level products that allowed users to tele-operate a small robot capable of movement and surveillance. Currently, the most popular consumer level products include the \textit{Erector Spykee} (2008, \$370), \textit{Wow Wee Rovio} (2008, \$300), and the \textit{iRobot ConnectR} (2009, \$500). These robots allowed a user to remotely connect to the robot using proprietary software that acted as the control panel for the device. Despite the products being functional, various cost cutting design decisions and the high price point resulted in the robots being poorly received by the general populace. \textbf{Project SkyTanX} aims to provide a low cost general solution to this problem by replacing the electronic components of a robot with a standard netbook, which contains all of the components needed for connectivity while being highly expandable and versatile to the end-user.
\end{Background}      

\section{Proposal}
\subsection{Physical System}
\subsubsection{Chassis}
The platform will be built on a toy tank chassis equipped with 2 dc motors. Using a high gear ratio and threads, the tank chassis can achieve a maximum speed of ~20cm/s and a maximum 30\% grade on a 7.2V NiMH battery. A preliminary mount for the netbook is also attached to the chassis to secure the netbook during development and operation. 
\subsubsection{Electrical and Sensors}
The interface between the netbook and the rest of the robot will be mediated by one or more Atmel ATMega328 microcontroller on the arduino platform. The microcontroller will interpret incoming commands from the serial interface and perform actions such as moving the robot, polling the sensors, or panning/tilting the camera. The robot will contain a component suite consisting of 4 Sharp GD120D range finders, 2 - 4 short range IR receivers for cliff detection and a webcam/microphone unit for sensing, 2 servos for tilt and pan control, an IMU/GPS to gather metadata, RF transceiver for short range communication, LCD for status display, as well as a set of high intensity LEDs for lighting. 
  \begin{figure}[here]
  \centering
  \includegraphics[height = 5.5cm]{photo1.jpg}
  \caption{SkytanX platform at its current state}
  \end{figure}
  
  \begin{figure}[here]
  \centering
  \includegraphics[height = 5.5cm]{photo2.jpg}
  \caption{Current circuit implementation}
  \end{figure}
\subsubsection{Power System}
A power system will be implemented as a charging dock to provide a method for the robot to charge its internal 7.2V battery and the netbook's battery. Ideally, the robot should contain a charge detection circuit to tell if a battery is in need of charging; When prompted to do so, the robot will utilize its sensors to find its way back to the base station. However, since the robot is not meant to be autonomous at this stage, this will not be covered in this scope of this proposal.
\subsection{Software implemenation}
The software required to run SkyTanX is developed on Python; Using freely available libraries such as \textit{PySerial} and \textit{Skype4Py}, we can establish an interface that can communicate between the internet(skype client), the netbook, and the arduino(circuit). To achieve this, we establish two command translation layers, skype-to-netbook and netbook-to-arduino. This is necessary because we would like the user to communicate to the robot through human readable commands and parameters, maintain high bandwidth utilization on the serial line between the netbook and the robot, as well as implementing features on the netbook as necessary. A command line interface will be created to serve as the primary link between each of these layers to create a standardized method of communication.
\subsection{Visual recognition}
Although the command line interface is useful, we would also like to save the user from the burden of having to memorize and type in commands every time something needed to be done on the robot. It would be much more intuitive and resourceful if the robot were to be controlled using an image recognition system that translated various gestures and visual stimuli as commands to the robot; Ideally, we would want to capture the image directly from Skype and process the resulting frames. However, the skype API does not provide for such functionality, as it offers no methods to grab a video from the software at this time. Alternative methods of capturing pictures were suggested, such as taking a screenshot of the skype window using the \textit{imagemagik} library and processing the results using the \textit{Python Imaging Library}. 
\end{Proposal}

\section{Proposed Milestones}
The finished robot should be able to communicate through skype and allow the user to see a video feed while using specified gestures to send it commands through the video interface. Please see the end of this proposal for a flowchart of the system's communication scheme.
\vspace{0.5cm} %Used to bump to second column.

 \begin{tabular}{|l|p{47ex}|}
  \hline
  \multicolumn{2}{|c|}{EE199 Milestones} \\
  \hline
  Week 1  &  Purchase parts; Implement prototype for image grabbing\\
  Week 2  &  Implement prototypes for all sensors (IMU, GPS, IR)\\
  Week 3  &  Implement prototypes for the servo pan/tilt function\\
  Week 4  &  Implement prototypes for the RF module, LCD display\\
  Week 5  &  Create a finalized schematic, CAD a mainboard PCB and send it in\\
  Week 6  &  Implement gesture controls\\
  Week 7  &  Finish implementing gesture controls\\
  Week 8  &  Implement arrived PCB onto the chassis\\
  Week 9  &  Testing and polish stage\\
  Week 10 &  Final Report\\
  \hline
 \end{tabular}
\end{Proposed Milestones}

\section{Parts list}
Please see the list below for a preliminary high level parts list:

Netbook - \$200 (Purchased)\\
Chassis - \$30  (Purchased)\\
Webcam  - \$8   (Purchased)\\
4 IR sensors - \$60 (Not purchased)\\
4 IR emitters - \$5 (Not purchased)\\
2 servos - \$20 (Not purchased)\\
LEDs - \$10 (Purchased)\\
IMU - \$50 (Not Purchased)\\
GPS - \$60 (Purchased)\\
Battery - \$30 (Purchased)\\
Speakers - \$5 (Purchased)\\
Arduino Nano x2 - \$70 (Not Purchased)\\
\hrule
Parts needed \$205\\
Total - \$548\\
\end{document}